Hitherto, a major object of generating gaits (desired gaits) for making a legged mobile robot, e.g., a bipedal mobile robot, carry out a traveling motion has been focused mainly on generating gaits (walking gaits) to make the robot carry out a smooth walking motion. In recent years, however, as the development of legged mobile robots advances, it has come to be desired to generate gaits that enable the robots not only to walk but to run also. Furthermore, it has come to be desired to generate gaits that enable the robots to move without trouble even on a slippery floor (so-called low-L path) on which a sufficient frictional force cannot be produced.
Since the Chinese characters for “gait” include a character meaning “walking,” the gait tends to be misinterpreted that the definition thereof is limited to walking. However, “gait” originally presents a concept that includes running, as it is used as a term indicating a running mode of a horse, such as “trot.”
The description will now be given of the difference in characteristics between walking and running.
A traveling mode that has an instant at which all legs are simultaneously floating is usually defined as running. This definition, however, does not necessarily make it possible to clearly distinguish between walking and running. For instance, most humans have instants at which all legs float at the same time in fast jogging, whereas many humans have one of the legs always in contact with the ground in slow jogging. It is somehow perceptually unreasonable to define fast jogging as running and slow jogging as walking.
FIG. 51 shows a pattern of a vertical body position and a floor reaction force vertical component (a sum of floor reaction force vertical components acting on right and left legs) in typical running, and FIG. 52 shows a pattern of a vertical body position and a floor reaction force vertical component in typical walking.
A vertical body position/velocity means a vertical position of a representative point of a body and a velocity thereof. A horizontal body position/velocity means a horizontal position of a representative point of the body and a velocity thereof. A vertical body position/velocity and a horizontal body position/velocity together will be referred to as body position/velocity.
Strictly speaking, the “floor reaction force vertical component” should be described as “translational floor reaction force vertical component” to distinguish it from a moment component about a vertical axis of a floor reaction force; however, the term is too long, so that the term “translational” will be omitted. Hereinafter, the “translational floor reaction force horizontal component” will be described as “floor reaction force horizontal component,” omitting “translational.”
First, attention will be focused on the movement of the body. In walking, the body reaches a highest level at the instant the body passes over a supporting leg, while it reaches a lowest level at this instant in running. In other words, the phase of a vertical motion pattern of the body reverses between walking and running.
Meanwhile, a floor reaction force remains relatively constant in walking, whereas it considerably varies in running, the floor reaction force reaching its maximum at the moment the body passes over a supporting leg. Needless to say, the floor reaction force is zero at the instant when all legs are simultaneously floating. More detailed observation reveals that a floor reaction force of a magnitude that is substantially proportional to a compression amount of the supporting leg is generated while running. In other words, it may be said that the legs are used like springs to jump for traveling while running.
Slow jogging has the same body vertical motion phase as that of typical running. In addition, slow jogging frequently has no instants at which all legs are simultaneously floating; however, even in this case, a floor reaction force reaches substantially zero, although not completely zero, at an instant when a supporting leg and an idle leg are switched.
Hence, distinguishing between walking and running on the basis of the aforesaid characteristics of the vertical motions of the body or floor reaction force patterns as described above may be more appropriate and perceptually reasonable, because slow jogging is regarded also as running.
In particular, to distinguish between the two on the basis of a most characteristic aspect, running may be defined as a traveling mode in which the floor reaction force becomes zero or substantially zero at the instant a supporting leg is switched, while walking may be defined as a traveling mode (a floor reaction force vertical component remaining relatively constant) other than that.
The present applicant has previously proposed, in PCT Kokai publication WO/02/40224, an art for generating freely and in real time a gait of a legged mobile robot that includes a floor reaction force while substantially satisfying dynamic balance conditions (This means the conditions of balance among gravity, an inertial force, and a floor reaction force of a desired gait. In a narrow sense, it means that the horizontal component of a moment about a desired ZMP by the resultant force of gravity and an inertial force produced by a motion of a desired gait is zero. Detailed description will be given hereinafter). This art and a series of the control devices of legged mobile robots proposed by the present applicant in, for example, Japanese Unexamined Patent Application Publication No. 10-86081 and Japanese Unexamined Patent Application Publication No. 10-277969 can be applied to walking and also to running.
The present applicant has also proposed the following art in, for example, Japanese Unexamined Patent Application Publication No. 5-337849. According to the art, when an inclination error of a robot (the difference between an actual inclination angle with respect to the vertical direction of the body of the robot and an inclination angle of a desired gait) occurs, an actual ZMP is shifted and a moment in a posture restoring direction is generated about a desired ZMP within a permissible range, and then the motion of the desired gait is determined so as to generate a moment about the desired ZMP on a model used for generating the desired gait. Thus, intentionally generating a moment on a model makes it possible to provide an effect equivalent to generating a moment in the posture restoring direction on an actual robot.
These arts, however, have not considered the magnitude of a floor reaction force moment vertical component about ZMP of a desired gait. Hence, there has been a danger in that the floor reaction force moment vertical component unduly increases and exceeds a frictional limit, leading to a spin. The term “spin” refers to a state in which a yaw angular (a rotational angle about a vertical axis) velocity of an actual robot deviates from a desired yaw angular velocity.
When a robot walks on a floor surface having a high friction coefficient (in this case, at least one leg is always in contact with the ground), a floor reaction force vertical component is always substantially equivalent to a robot's own weight, thus providing a higher limit of a frictional force (i.e., the floor reaction force moment vertical component). This makes it difficult for a spin to occur.
In running, however, the floor reaction force vertical component becomes zero or substantially zero, and in this case, therefore, the limit of a moment vertical component of the frictional force of a floor surface becomes zero or substantially zero even if a friction coefficient is high. Hence, there has been a danger in that the floor reaction force moment vertical component of a desired gait exceeds a limit, resulting in a spin and a fall.
Further, in the case of walking also, there has been a danger of spinning and falling if a floor has a low friction coefficient.
According to the arts described above, there has been a danger in that a traveling trajectory of a robot deviates from a desired gait trajectory, because no arrangement has been provided to compensate for a deviation of a rotational posture in a yaw direction of a body from a desired posture.
Meanwhile, the present applicant has previously proposed an arrangement, in which an arm is swung so as to cancel a moment vertical component generated by anything other than arms in a desired gait, in an embodiment described in, for example, PCT application PCT/JP02/13596.
In this case, the moment vertical component of a desired gait is substantially zero. However, if legs are briskly swung to move, then the arms will be also briskly swung.
Generally, the mass of an arm in a human-type robot is smaller than the mass of a leg. Accordingly, it is necessary to swing arms more briskly than legs in order to fully cancel a moment vertical component.
However, there is a restriction in the range of arm motion, and there are also restrictions in torque and velocity of arm actuators. Hence, there have been some cases where a moment vertical component cannot be fully canceled by arms when a robot moves while briskly swinging its legs.
Furthermore, there has been a danger in that, if arms are swung to cancel out a moment vertical component produced by anything other than arms in a desired gait, then the center of arm swing is gradually offset, causing the swings of the right and left arms to be asymmetrical. Specifically, to make a left turn, if a robot swings its arms to fully offset a moment vertical component generated by anything other than arms, then the left arm is swung more toward the front and swung less toward the rear, while the right arm is swung less toward the front and swung more toward the rear in order to offset the change in an angular momentum caused by the legs and the body having turned to the left. This may cause the left arm to reach a motion limit of the swing toward the front, and the right arm to reach a motion limit of the swing toward the rear.
Furthermore, if a motion is made to correct the center of the arm swinging so as to prevent the swings of the right and left arms from becoming asymmetrical, then a floor reaction force moment vertical component is generated. This in turn causes a floor reaction force moment vertical component of a desired gait to exceed a limit, possibly causing the robot to spin.
Accordingly, an object of the present invention is to provide a control device which solves the problems described above and which is capable of generating a further ideal gait regardless of gait types, such as walking and running, and a friction condition of a floor surface.
More specifically, an object of the present invention is to provide a control device capable of operating a robot by gaits that enable the robot to prevent spinning or falling from a spin, while maintaining a stable posture state in a yaw direction of the robot by considering a limit of a moment vertical component of a frictional force between the robot and a floor surface. Another object is to provide a control device capable of operating a robot by a gait motion pattern that satisfies a dynamic balance condition even in a leg-floating period or even if the limit of a moment vertical component of a frictional force is extremely low. Still another object is to prevent lateral asymmetry of a desired gait from increasing so as to secure continuity of a motion.